<?php
declare (strict_types = 1);

namespace app\index\validate;

use think\Validate;

class Goods extends Validate
{
    /**
     * 定义验证规则
     * 格式：'字段名' =>  ['规则1','规则2'...]
     *
     * @var array
     */    // 4           //2
    protected $rule = [
        'name|名称' => 'require|max:6',
        'age|年龄' => 'number|between:1,120',
        'email|邮箱' => 'email',
    ];

//内置规则  date时间必须为时间格式(不为纯数字),必须为字符串,不能为int类型


//    protected $rule = [
//        'name'  =>  'checkName:',
//        'pwd'=>'checkName:000000',
//        'email' =>  'email',
//    ];


//    //取名 3
    protected $field = [
        'name' => '名称',
        'age' => '年龄',
        'email' => '邮箱',
    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名' =>  '错误信息'
     *
     * @var array
     */
    //自己定义    第一
    protected $message = [
        'name.require' => '名称必须存在,不能为空',
        'name.max'     => '名称最多不能超过6个字符',
        'name.min'     => '名称最少不能小于4个字符',
        'age.number'   => '年龄必须是数字',
        'age.between'  => '年龄只能在1-120之间',
        'email'        => '邮箱格式错误',

    ];

    // 自定义验证规则  $value 传过来需要验证的值
    //$rule 验证规则在checkName后面
    //$data 传过来的所有值
    protected function checkName($value, $rule, $data=[],$name='账号',$mag)
    {
        return $value != $rule ? true :'密码不能为6个0';
    }

    // edit 验证场景定义
    public function sceneEdit()
    {
        return $this->only(['name','age'])
            ->append('name', 'min:3')
//            ->remove('age', 'between')
            ->append('age', 'require|max:2');
    }

//定义验证场景
//protected $scene=[
//    'edit'=>['name'],
//    ];




}
